import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        //逻辑运算 && || ! 运行结果都是boolean类型
        //&&
//        int a=10;
//        int b=20;
//        System.out.println(b>a&&a<100);//真真 true
//        System.out.println(b<a&&a<100);//真假 false
//        System.out.println(b>a&&a>100);//真假 false
//        System.out.println(b<a&&a>100);//假假 false
        //短路与 前面条件不满足将不会执行后面的语句
        //System.out.println(10>20&&10/0==0);//前面为假 不运行后面语句 代码不会报错
        //System.out.println(10<20&&10/0==0);//前面为真 运行后面语句 导致报错
    //逻辑或|| 一个为真 为真
//        int a=10;
//        int b=20;
//        System.out.println(b>a||a<100);//真真 true
//        System.out.println(b<a||a<100);//真假 true
//        System.out.println(b>a||a>100);//真假 true
//        System.out.println(b<a||a>100);//假假 false
        //短路或
        //System.out.println(10<20||10/0==0);//前面为真时 不运行后面语句 不报错
        //System.out.println(10>20||10/0==0);//前面为假 运行后面语句导致报错
        //逻辑非! 后面只能接boolean语句

        //移位运算符
        //<< 左移:在右侧补0 左移值=数值*2^n
//        int a=10;
//        System.out.println(a<<1);
        //>> 右移:在左侧补符号位 右移值=数组/2^n
//        int a=10;
//        System.out.println(a>>1);
//        //存在问题 -1时右移不变
//        int b=-1;
//        System.out.println(b>>1);
//        //>>> 无符号右移运算符 左侧补0
//        int c=-1;
//        System.out.println(c>>>1);

        //条件运算符 表达式1?表达式2:表达式3 其中 表达式1必须为boolean类型
        //表达式2 3 必须是同类型的 除非可以发生隐形类型转换
//        int a = 10;
//        int b = 20;
//        int max = a>b?a:b;//必须要被接收
//        System.out.println(max);

        //逻辑控制 顺序当中夹杂着循环 伴随着一次又一次的进步
        //顺序结构
        //分支结构
        //单分支循环 if() {}
//        int a = 10;
//        if(a == 10) {
//            System.out.println("a == 10");
//        }
//双分支循环 if条件满足进入 不满足进入else
//        int a = 20;
//        if(a == 10) {
//            System.out.println("a == 10");
//        }else {
//            System.out.println("a == 20");
//        }
        //多分支循环
//        int a = 40;
//        if(a == 10) {
//            System.out.println("a == 10");
//        }else if(a == 20) {
//            System.out.println("a == 20");
//        }else if(a == 30) {
//            System.out.println("a == 30");
//        }else {
//            System.out.println("a");
//        }
        //switch 选择语句 不能作为判断的类型：float double long boolean
//       String str="abc";
//        switch(str) {
//            case  "abc":
//                System.out.println("abc");
//                break;
//            case "abd":
//                System.out.println("abd");
//            default:
//                System.out.println("输入有误!");
//                break;
//        }

        //判断奇偶数
//        Scanner scan = new Scanner(System.in);
//        int num = scan.nextInt();
//        if(num % 2==0) {
//            System.out.println(num + "是偶数");
//        }else {
//            System.out.println(num + "是奇数");
//        }
        //判断整正数 负数 0
//        Scanner scan = new Scanner(System.in);
//        int num = scan.nextInt();
//        if(num > 0) {
//            System.out.println(num + "是正数");
//        }else if(num < 0) {
//            System.out.println(num + "是负数");
//        }else {
//            System.out.println(num + "==0");
//        }
        //普通闰年 能够被4整除 不能被100 整除 世纪闰年
//        Scanner scan = new Scanner(System.in);
//        int num = scan.nextInt();
//        if(num % 4 == 0 && num % 100 != 0 || num % 400 ==0) {
//            System.out.println(num + "是闰年");
//        }else {
//            System.out.println(num + "不是闰年");
//        }

        //循环结构
        //while循环  while(布尔表达式)
        //for循环 for(;;);
        //do while循环do{} while(布尔表达式);
    }
}
